package tec;

class TestPassagerStandard 
    extends TestPassagerAbstrait{
    
    
    void lancerTestPassagerStandard() throws TecInvalidException{
	int nbTest = 9;
	super.lancer();
	
	testChoixChangerPlace();
	System.out.print('.'); nbTest++;
	
	testChoixPlaceMontee();
	System.out.print('.'); nbTest++;
	
	System.out.println("(" + nbTest + "):OK: " + getClass().getName()); 
    }
    
    
    
    void testChoixChangerPlace(){
	PassagerAbstrait p1 = FabriqueTec.fairePassagerStandard("Marc", 5);
	FauxBus bus = new FauxBus();
	bus.status = FauxBus.ASSISDEBOUT; 
	
	p1.accepterPlaceAssise();
	p1.nouvelArret(bus, 3);
	assert 0 == bus.messages.size() : "Rien ne se passe";

    }
    
    void testChoixPlaceMontee() throws TecInvalidException{
	Passager passager = FabriqueTec.fairePassagerStandard("Marc", 3);
	FauxBus bus = new FauxBus();
	bus.status = FauxBus.ASSISDEBOUT;
	passager.monterDans(bus);
	assert( "demanderPlaceAssise" == bus.messages.getLast()) : "choixPlaceMontee Standard failed";
	bus.status = FauxBus.DEBOUT;
	passager.monterDans(bus);
	assert( "demanderPlaceDebout" == bus.messages.getLast()) : "choixPlaceMontee Standard failed";
	
    }
    
    protected PassagerAbstrait creerPassager(String nom, int destination){
	PassagerAbstrait passager = FabriqueTec.fairePassagerStandard(nom, destination);
	return passager;
    }
}